Docker 容器的使用
容器的使用
获取镜像
首先我们先可以使用docker pull 命令来载入一个ubuntu镜像
1 | docker pull ubuntu |
启动容器
以下命令使用ubuntu 镜像启动一个容器,参数为命令行模式进入该容器:
1 | docker run -it ubuntu /bin/bash |
参数说明:
- -i: 交互式操作
- -t: 终端
- ubuntu: ubuntu镜像
- /bin/bash: 放在镜像名后的命令,这里我们希望有一个交互式shell,因此使用的是/bin/bash
要退出终端,直接输入exit:
1 | root@a66f9bd11e5b:/# exit |
启动已停止运行的容器
查看所有的容器命令如下
1 | docker ps -a |
使用docker start 启动一个已经停止的容器
1 | docker start a66f9bd11e5b |
后台运行
在大部分的情景下,我们希望docker的服务是在后台运行的,我们可以通过-d
指定容器的运行模式
1 | docker run -itd --name ubuntu-test ubuntu /bin/bash |
注:加了-d
参数默认不会进入容器,想要进入容器需要使用指令 docker exec。
停止一个容器
停止容器的命令如下:
1 | docker stop <容器ID> |
停止的容器可以通过docker restart 重启
进入容器
在使用-d
参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
- docker attach
- docker exec: 推荐大家使用docker exec 命令,因为此命令退出容器终端,不会导致容器停止
attach 命令
1 | docker attach a66f9bd11e5b |
注意:如果从这个容器退出,会导致容器的停止
exec 命令
1 | docker exec -it a66f9bd11e5b /bin/bash |
注意:如果从这个容器退出,容器不会停止。
导出容器和导入容器
导出容器
1 | docker export a66f9bd11e5b > ubuntu.jar |
导出容器 a66f9bd11e5b 快照到本地文件ubuntu.jar
这样导出容器快照到本地文件
导入容器快照
可以使用docker import 从容器快照文件中导入为镜像,以下实例将ubuntu导入到镜像test/ubuntu:v1:
1 | cat docker/ubuntu.jar | docker import -test/ubuntu:v1 |
此外,也可以通过指定URL或者某个目录来导入,例如
1 | docker import http://example.com/exampleimage.tgz example/imagerepo |
删除容器
1 | docker rm -f a66f9bd11e5b |
下面的命令可以清理掉所有处于终止状态的容器。
$ docker container prune